/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufc.virtual.pregnant.entidades;

import java.util.Objects;

/**
 *
 * @author Leonardo Oliveira Moreira
 *
 */
public class Disciplina extends Entidade {

    private String codigo;
    private String nome;
    private int cargaHoraria;
    private int credito;

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getCargaHoraria() {
        return cargaHoraria;
    }

    public void setCargaHoraria(int cargaHoraria) {
        this.cargaHoraria = cargaHoraria;
    }

    public int getCredito() {
        return credito;
    }

    public void setCredito(int credito) {
        this.credito = credito;
    }

    public String toXMLString() {
        String xml = "";
        xml += "<disciplina>";
        xml += "<codigo>" + getCodigo() + "</codigo>";
        xml += "<nome>" + getNome() + "</nome>";
        xml += "<carga_horaria>" + getCargaHoraria() + "</carga_horaria>";
        xml += "<credito>" + getCredito() + "</credito>";
        xml += "</disciplina>";
        return xml;
    }

    @Override
    public String toString() {
        return "Disciplina{" + "codigo=" + codigo + ", nome=" + nome + ", cargaHoraria=" + cargaHoraria + ", credito=" + credito + '}';
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 37 * hash + Objects.hashCode(this.codigo);
        hash = 37 * hash + Objects.hashCode(this.nome);
        hash = 37 * hash + this.cargaHoraria;
        hash = 37 * hash + this.credito;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Disciplina other = (Disciplina) obj;
        if (!Objects.equals(this.codigo, other.codigo)) {
            return false;
        }
        if (!Objects.equals(this.nome, other.nome)) {
            return false;
        }
        if (this.cargaHoraria != other.cargaHoraria) {
            return false;
        }
        if (this.credito != other.credito) {
            return false;
        }
        return true;
    }

}